Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Job control (Unix)</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Job_control_(Unix)"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Job_control_Unix rootpage-Job_control_Unix skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Job control (Unix)</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">This article is about job control on a Unix-based system. For the general computing term, see <a href="Job_control_(computing)" title="Job control (computing)">job control</a>.</div>
<p>In a <a href="Unix" title="Unix">Unix</a> or <a href="Unix-like" title="Unix-like">Unix-like</a> <a href="Operating_system" title="Operating system">operating system</a>, <b>job control</b> refers to controlling a <a href="Process_group" title="Process group">process group</a> as a <a href="Job_(computing)" title="Job (computing)">job</a> via a <a href="Unix_shell" title="Unix shell"> shell</a>.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> Control features include suspend, resume, and terminate, and more advanced features can be performed by sending a <a href="Signal_(computing)" class="mw-redirect" title="Signal (computing)">signal</a> to a job. Job control allows a user to manage processing in the Unix-based <a href="Multiprocessing" title="Multiprocessing">multiprocessing</a> environment, and is distinct from <a href="Job_control_(computing)" title="Job control (computing)">general computing job control</a>.
</p><p>Job control was first implemented in the <a href="C_shell" title="C shell">C shell</a> by Jim Kulp,<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> then at <a href="IIASA" class="mw-redirect" title="IIASA">IIASA</a> in Austria, making use of features of the 4.1<a href="BSD" class="mw-redirect" title="BSD">BSD</a> kernel.
The <a href="KornShell" title="KornShell">KornShell</a>, developed at <a href="Bell_Labs" title="Bell Labs">Bell Labs</a>, adopted it and it was later incorporated into the SVR4 version of the <a href="Bourne_shell" title="Bourne shell">Bourne shell</a>, and exists in most modern Unix shells.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Job">Job</h2></div>
<p>A job encompasses all of the processes that start for the handling of a shell <a href="Command_line" class="mw-redirect" title="Command line">command line</a>. A simple command line may start just one process, but a command line may result in multiple processes since a process can create <a href="Child_process" title="Child process">child processes</a>, and a command line can specify a <a href="Pipeline_(Unix)" title="Pipeline (Unix)">pipeline</a> of multiple commands. For example, the following command line selects lines containing the text "title", sorts them alphabetically, and displays the result in a <a href="Terminal_pager" title="Terminal pager">terminal pager</a>: <code>grep title somefile.txt | sort | less</code>. This creates at least three processes: one for <a href="Grep" title="Grep"><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">grep</code></a>, one for <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">sort</code>, and one for <a href="Less_(Unix)" title="Less (Unix)"><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">less</code></a>. Job control allows the shell to control these processes as one entity.
</p>
<div class="mw-heading mw-heading2"><h2 id="Job_ID">Job ID</h2></div>
<p>A job is identified by a numeric <i>job ID</i>, a.k.a. <i>job number</i> which is classified as a <a href="Handle_(computing)" title="Handle (computing)">handle</a> since it is an abstract reference to a <a href="Computer_resource" class="mw-redirect" title="Computer resource">resource</a> (a process group). An ID value, prefixed with <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">%</code>, can be used with a job control command to specify a job. The special references <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">%%</code> and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">%+</code> refer to the default job; the one that would be selected if none specified.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> Bash documentation refers to a reference (starting with <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">%</code>) as a <i>jobspec</i> (short for job specification).<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p><p>Job control ID values are typically only used in an interactive shell. In scripting, PGID values are used instead, as they are more precise and robust, and indeed job control is disabled by default in a bash script.
</p>
<div class="mw-heading mw-heading2"><h2 id="Foreground/background">Foreground/background</h2></div>
<p>By default, a job runs in the foreground where it uses <a href="Standard_streams" title="Standard streams">interactive input and output</a>. The user enters a command line and interacts with the processes but cannot issue another command until the current job terminates. Many operations (i.e. listing files) are relatively quick so the user can wait for a response with little down time and some operations (i.e. editing) require interaction that is only possible via a foreground job. But, if interaction is not required and the operation prevents access to the shell for a long time, the user may want to run it in the background – where the processes cannot access interactive input but the user can perform other foreground operations while the background job runs concurrently. By default background jobs output to the interactive output stream which results in the interleaving of output from the foreground and background jobs although a user may <a href="Redirection_(computing)" title="Redirection (computing)">redirect</a> output for a background job to prevent this.
</p>
<div class="mw-heading mw-heading2"><h2 id="Control">Control</h2></div>
<p><a href="POSIX" title="POSIX">POSIX</a> specifies the <a href="User_interface" title="User interface">user interface</a> to job control – modeled on the Korn shell.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>. The commands are typically implemented as <a href="Shell_builtin" title="Shell builtin">shell builtins</a>; not separate <a href="Computer_program" title="Computer program">programs</a>.
</p>
<dl><dt>Start in background</dt></dl>
<p>If a command line ends with <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">&amp;</code>, then the job starts in the background.
</p>
<dl><dt>Pause foreground job</dt></dl>
<p>The foreground job can be paused by pressing <style data-mw-deduplicate="TemplateStyles:r1249182868">
/* start https://en.wikipedia.org/ */


.mw-parser-output .keyboard-key{border:1px solid #aaa;border-radius:0.2em;box-shadow:0.1em 0.1em 0.2em rgba(0,0,0,0.1);background-color:var(--background-color-neutral-subtle,#f8f9fa);background-image:linear-gradient(to bottom,var(--background-color-neutral,#eaecf0),var(--background-color-neutral-subtle,#f8f9fa),var(--background-color-neutral,#eaecf0));color:var(--color-base,#202122);padding:0.1em 0.3em;font-family:inherit;font-size:0.85em}


/* end https://en.wikipedia.org/ */
</style><kbd class="keyboard-key nowrap">Ctrl</kbd>+<kbd class="keyboard-key nowrap"> Z</kbd>. In this state, a job can be resumed in the background via <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">bg</code> or resumed in the foreground via <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">fg</code>.
</p>
<dl><dt>Command <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">fg</code> </dt></dl>
<p>Command <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">fg</code> (short for foreground) moves background job to the foreground; either the job specified or the one most recently added to the background if none specified. When the foreground job is paused (via <kbd class="keyboard-key nowrap">Ctrl</kbd>+<kbd class="keyboard-key nowrap"> Z</kbd>), then this command resumes that job.
</p>
<dl><dt>Command <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">wait</code></dt></dl>
<p>Command <a href="Wait_(command)" title="Wait (command)"><code>wait</code></a> pauses the interactive session until the specified background jobs complete or for all background jobs of the active shell if none specified.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p>
<dl><dt>Command <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">bg</code> </dt></dl>
<p>Command <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">bg</code> (short for background) moves the paused foreground job to the background and resumes it.
</p>
<dl><dt>Command <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">jobs</code></dt></dl>
<p>Command <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">jobs</code> reports information about each background job including ID, command line and running status (stopped or running).
</p>
<div class="mw-heading mw-heading2"><h2 id="Signals">Signals</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */


.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style>
<p>The <a href="Interprocess_communication" class="mw-redirect" title="Interprocess communication">interprocess communication</a> of job control is implemented via <a href="Unix_signal" class="mw-redirect" title="Unix signal">signals</a>.
</p><p>Typically, a shell maintains information about background jobs in a job table. When an <a href="Login_session" title="Login session">interactive session</a> ends (i.e. user <a href="Logout" class="mw-redirect" title="Logout">logs out</a>), the shell sends signal <a href="SIGHUP" title="SIGHUP">SIGHUP</a> to all jobs, and waits for the process groups to exit before terminating itself. Some shells provide a non-POSIX command <a href="Disown_(Unix)" title="Disown (Unix)"><code>disown</code></a> that removes a job from the job table. The process group becomes an <a href="Orphan_process" title="Orphan process">orphan</a>. The shell will not send it SIGHUP, nor wait for it to terminate. This is one technique for enabling a process as a <a href="Daemon_(computer_software)" class="mw-redirect" title="Daemon (computer software)">daemon</a>; owned direclty by the root process <a href="Init" title="Init">init</a>. The POSIX command <a href="Nohup" title="Nohup"><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">nohup</code></a> provides an alternate way to prevent a job from being terminated by the shell.
</p><p>Suspending the foreground job (via <kbd class="keyboard-key nowrap">Ctrl </kbd>+<kbd class="keyboard-key nowrap">Z</kbd>) sends signal SIGTSTP (terminal stop) to the processes of the group. By default, this signal causes a process to pause so that the shell can resume. However, a process can ignore the signal. A process can also be paused via signal SIGSTOP (stop), which cannot be ignored.
</p><p>When the user presses <kbd class="keyboard-key nowrap">Ctrl </kbd>+<kbd class="keyboard-key nowrap">C</kbd>, the shell sends signal <a href="SIGINT_(POSIX)" class="mw-redirect" title="SIGINT (POSIX)">SIGINT</a> (interrupt) to each foreground job process, which defaults to terminating it, though a process can ignore the signal.
</p><p>When a stopped job is resumed (via <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">bg</code> or <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">fg</code>), the shell redirects <a href="Input/output" title="Input/output">Input/output</a> and resumes it by sending signal SIGCONT to it.
</p><p>A background process that attempts to read from or write to its <a href="Controlling_terminal" class="mw-redirect" title="Controlling terminal">controlling terminal</a> is sent signal SIGTTIN (for input) or SIGTTOU (for output). These signals stop the process by default, but they may also be handled in other ways. Shells often override the default stop action of SIGTTOU so that background processes deliver their output to the controlling terminal by default.
</p><p>In bash, the <code><a href="Kill_(command)" title="Kill (command)">kill</a></code> builtin (not <code>/bin/kill</code>) can signal jobs by ID as well as by process group ID. Sending a signal to a job sends it to each process of the group. <code>kill</code> can send any signal to a job; however, if the intent is to rid the system of the processes, the signals <a href="SIGKILL" class="mw-redirect" title="SIGKILL">SIGKILL</a> and <a href="SIGTERM" class="mw-redirect" title="SIGTERM">SIGTERM</a> (the default) are probably the most applicable.
</p>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text">IEEE Std 1003.1-2001, <a rel="nofollow" class="external text" href="http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap03.html#tag_03_201">Section 3.201, Job</a></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text">
Foreword by <a href="Bill_Joy" title="Bill Joy">Bill Joy</a> in <style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFAndersonPaul_Anderson1986" class="citation book cs1">Anderson, Gail; Paul Anderson (1986). <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/unixcshellfieldg00ande"><i>The UNIX C Shell Field Guide</i></a></span>. Prentice-Hall. p.&nbsp;xvii. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>0-13-937468-X</bdi>.</cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text">IEEE Std 1003.1-2001, <a rel="nofollow" class="external text" href="http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap03.html#tag_03_203">Section 3.203, Job Control Job ID</a></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.gnu.org/software/bash/manual/html_node/Job-Control-Basics.html#Job-Control-Basics">7.1 Job Control Basics</a></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><span class="neverexpand"><code><a rel="nofollow" class="external text" href="https://pubs.opengroup.org/onlinepubs/9799919799/utilities/bg.html">bg</a></code></span>&nbsp;–&nbsp;Shell and Utilities Reference, <a href="Single_Unix_Specification" class="mw-redirect" title="Single Unix Specification">The Single UNIX Specification</a>, Version 5 from <a href="The_Open_Group" title="The Open Group">The Open Group</a>; <span class="neverexpand"><code><a rel="nofollow" class="external text" href="https://pubs.opengroup.org/onlinepubs/9799919799/utilities/fg.html">fg</a></code></span>&nbsp;–&nbsp;Shell and Utilities Reference, <a href="Single_Unix_Specification" class="mw-redirect" title="Single Unix Specification">The Single UNIX Specification</a>, Version 5 from <a href="The_Open_Group" title="The Open Group">The Open Group</a>.</span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite id="CITEREFKerrisk2025" class="citation web cs1">Kerrisk, Michael (Feb 2, 2025). <a rel="nofollow" class="external text" href="https://www.man7.org/linux/man-pages/man1/wait.1p.html">"wait(1p) — Linux manual page"</a>. <i>man7.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">May 13,</span> 2025</span>.</cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2></div>
<ul><li><cite id="CITEREFMarshall_Kirk_McKusick_and_George_V._Neville-Neil2004" class="citation book cs1"><a href="Marshall_Kirk_McKusick" title="Marshall Kirk McKusick">Marshall Kirk McKusick</a> and George V. Neville-Neil (2004-08-02). <a rel="nofollow" class="external text" href="http://www.informit.com/articles/article.aspx?p=366888&amp;seqNum=8">"FreeBSD Process Management: Process Groups and Sessions"</a>. <a rel="nofollow" class="external text" href="http://www.informit.com/title/0201702452"><i>The Design and Implementation of the FreeBSD Operating System</i></a>. Addison Wesley. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>0-201-70245-2</bdi>.</cite></li></ul>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li>"Job Control", <a rel="nofollow" class="external text" href="https://web.archive.org/web/20060523213233/http://cnswww.cns.cwru.edu/%7Echet/bash/bashref.html"><i>Bash Reference Manual</i></a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-08-03" href="https://en.wikipedia.org/wiki/?title=Job_control_(Unix)&amp;oldid=1304018769">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>